// 插件的实现思路
// 1.插件可以是一个对象 ， 也可以是一个函数
// 2.如果插件是一个对象，则必须提供一个install方法。如果插件是一个函数的话，则是用Vue.use的时候会直接调用这个方法
// 3.install方法 有个参数，将来在调用的时候 会把Vue对象传进来
// 4.调用插件 使用Vue.use

// 执行流程
// 当使用Vue.use的时候 会自动调用插件的install的方法。 也就会执行install方法中的代码

import PageTools from '@/components/PageTools'
import UploadExcel from '@/components/UploadExcel'
import UploadImage from '@/components/UploadImage'
import ScreenFull from '@/components/ScreenFull'
import Lang from '@/components/Lang'
import Print from 'vue-print-nb'

// Vue中的插件可以理解成一个对象（跟咱们软件级别的插件不一样，只不过Vue中也叫这个对象为插件）
export default {
  // 在插件中可以拿到Vue对象。拿到Vue对象之后可以做什么？
  // 可以在 Vue.prototype  Vue.directive()  Vue.componment()
  // 只要你想在全局的Vue对象上做任何事情 都可以在插件中做
  install(Vue) {
    Vue.component('PageTools', PageTools)
    Vue.component('UploadExcel', UploadExcel)
    Vue.component('UploadImage', UploadImage)
    Vue.component('ScreenFull', ScreenFull)
    Vue.component('Lang', Lang)
    Vue.use(Print)
  }
}

// export default function(Vue) {
//   Vue.component('PageTools', PageTools)
// }
